LEFT JOIN Keyword क्या हैं?
LEFT JOIN कीवर्ड बाईं तालिका (तालिका 1) से सभी रिकॉर्ड और दाईं तालिका (तालिका 2) से मिलान रिकॉर्ड लौटाता है। यदि कोई बेमेल है, तो 0 रिकॉर्ड दाईं ओर से समाप्त होते हैं।
लेफ्ट जॉइन सिंटैक्स
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
नोट:
कुछ डेटाबेस लेफ्ट जॉइन को लेफ्ट आउटर जॉइन कहते हैं।
प्रदर्शन डेटाबेस
इस अभ्यास में हम प्रसिद्ध नॉर्थविंड मॉडल डेटाबेस का उपयोग करेंगे।
नीचे "ग्राहक" तालिका से एक चयन दिया गया है:
ग्राहक तालिका
+------------+--------------------------------+----------------+-------------------+----------+------------+---------+
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
+------------+--------------------------------+----------------+-------------------+----------+------------+---------+
| 1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados... | Ana Trujillo | Avda. Constitución| México | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México | 05023 | Mexico |
+------------+--------------------------------+----------------+-------------------+----------+------------+---------+
और "आदेश" तालिका से एक चयन:
आदेश तालिका
+---------+------------+-----------+------------+------------+
| OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
+---------+------------+-----------+------------+------------+
| 10308 | 2 | 7 | 1996-09-18 | 3 |
| 10309 | 37 | 3 | 1996-09-19 | 1 |
| 10310 | 77 | 8 | 1996-09-20 | 2 |
+---------+------------+-----------+------------+------------+
SQL LEFT JOIN उदाहरण
निम्नलिखित SQL कथन सभी ग्राहकों और उनके पास मौजूद किसी भी ऑर्डर का चयन करता है:
उदाहरण
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
नोट:
LEFT JOIN कीवर्ड बाईं तालिका (ग्राहक) से सभी रिकॉर्ड लौटाता है, भले ही दाईं तालिका (ऑर्डर) में कोई मिलान न हो।
बाईं ओर दृश्य प्रतिनिधित्व में शामिल हों
ग्राहक तालिका (बाएं)
ऑर्डर तालिका (दाएं)
बाएँ शामिल होने का परिणाम
टिप्पणी:लेफ्ट जॉइन सभी ग्राहकों (बाएं टेबल) को दिखाता है, चाहे उनके पास ऑर्डर हों या नहीं। मेल न खाने वाले ग्राहकों के लिए ऑर्डरआईडी को NULL के रूप में प्रदर्शित किया जाएगा।
जब लेफ्ट जॉइन करना शुरू करें
सभी ग्राहक देखें
बिना ऑर्डर वाले ग्राहकों सहित सभी ग्राहकों को सूचीबद्ध करना
बिक्री रिपोर्ट
गैर-बिक्री वाले उत्पादों सहित सभी उत्पाद देखें
अदाकारी का समीक्षण
उन सभी संस्थाओं की पहचान करना जिनके पास कोई कार्य नहीं है
LEFT JOIN vs INNER JOIN
LEFT JOIN
- बायीं मेज सेसभीपंक्तियों
- दाएँ तालिका से पंक्तियों का मिलान
- बेमेल के लिए शून्य मान
- कुल पंक्तियाँ ≥ बाईं तालिका पंक्तियाँ
SELECT *
FROM TableA
LEFT JOIN TableB
ON TableA.ID = TableB.ID;
INNER JOIN
- दोनों तालिकाओं मेंउपयुक्तकेवल पंक्तियाँ
- दोनों तालिकाओं के लिए सामान्य डेटा
- गैर-मैचों को बाहर रखा गया
- कुल पंक्तियाँ ≤ न्यूनतम दो तालिकाएँ
SELECT *
FROM TableA
INNER JOIN TableB
ON TableA.ID = TableB.ID;